package aiku.numericalcontroloa.Model.Dto.OrderManagement;

import aiku.numericalcontroloa.Model.Dto.PageSelect;
import com.baomidou.mybatisplus.annotation.TableField;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.Year;
import java.time.YearMonth;
import java.util.Date;

/**
 * 订单账单
 * 订单每一笔的收款记录
 * @TableName order_billing
 */

@EqualsAndHashCode(callSuper = true)
@Data
public class OrderBillingDto extends PageSelect {

    private String id;

    /**
     * 订单id
     */
    private String orderId;

    /**
     * 总期数
     */
    private Integer totalPeriod;

    /**
     * 本期
     */
    private Integer currentPeriod;

    /**
     * 本期金额
     */
    private BigDecimal amount;

    /**
     * 收款日/还款日
     */
    private LocalDate repaymentDate;

    /**
     * 实收金额
     */
    private BigDecimal fundsReceived;

    /**
     * 实收日期
     */
    private Date dateReceived;

    /**
     * 收款账户
     */
    private String account;

    /**
     * 账户id
     */
    private String accountId;

    /**
     * 订单账单状态（0未收款，1已收款，2欠款/逾期）
     */
    private Integer billStatus;

    /**
     * 财务审核(0未申请，1待审核，2通过，3不通过)
     */
    private Integer examineStatus;

    /**
     * 业务员提成id
     */
    private String salesmanCommissionId;

    /**
     * 售后员提成id
     */
    private String afterSalesCommissionId;

    private String userId;

    private Year year;

    private YearMonth yearMonth;

    private LocalDate yearMonthDay;
}